home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
amok_lha
/
amok26.lha
/
FileIO
/
FileIO.def
next >
Wrap
Text File
|
1993-08-15
|
2KB
|
59 lines
(*---------------------------------------------------------------------------
:Program. FileIO.def
:Contents. komplette Files lesen und schreiben
:Author. Bernd Preusing
:Address. Gerhardstr. 16 D-2200 Elmshorn
:Phone. 04121/22486
:Copyright. Public Domain
:Language. Modula-2
:Translator. M2Amiga V3.27d
:History. 1.0 14-Sep-89 Bernd Preusing
:History. 1.1 23-Sep-89 Bernd Preusing: neue PROCEDURE FreeFile
:Bugs. none
:Remark. Dieses Modul war überfällig!
---------------------------------------------------------------------------*)
DEFINITION MODULE FileIO;
FROM SYSTEM IMPORT ADDRESS;
TYPE
FileIOResult= (noError, notFound, readError, writeError, saveError,
noMem, renameError, seekError);
PROCEDURE FileExists(VAR Name: ARRAY OF CHAR):BOOLEAN;
(* :Input. Name: der komplette Filename mit Pfad (VAR für Speed)
:Output. TRUE: Die Datei existiert und ist ein File, keine Directory
*)
PROCEDURE GetFile(VAR Name:ARRAY OF CHAR; VAR Addr:ADDRESS;
VAR Len:LONGINT; Add:LONGINT):FileIOResult;
(* :Input. Name: Name des Files
:Input. Addr: hier wird die Adresse des Filepuffers abgelegt
:Input. Len: erhält die genaue Länge des Files
:Input. Add: wird zur Länge des Files addiert, um den Puffer zu
:Input. allozieren, falls man im Puffer mehr Platz braucht.
:Output. noError, falls alles ok, sonst zugehöriger Fehler
:Semantic. Alloziert Speicher Filelänge+1+Add, liest das File komplett
:Semantic. ein und hängt ans Ende ein 0C an (für Texte ganz nützlich)
*)
PROCEDURE FreeFile(VAR Buffer:ADDRESS);
(* :Input. Buffer: die mittels GetFile erhaltene Adresse
:Semantic. Gibt den Speicher des FilePuffers wieder frei
*)
PROCEDURE PutFile(VAR Name:ARRAY OF CHAR; Buffer:ADDRESS;
Len:LONGINT; Backup, DeallocMem: BOOLEAN):FileIOResult;
(* :Input. Name: Name des Files
:Input. Addr: Adresse des Filepuffers
:Input. Len: Länge des abzuspeichernden Files
:Input. Backup: falls TRUE, wird das alte File in Name.bak umbenannt
:Input. DeallocMem: falls TRUE, wird der Puffer dealloziert
:Output. noError, falls alles ok, sonst zugehöriger Fehler und der
:Output. Puffer wird KEINESFALLS dealloziert.
:Semantic. Speichert ein File komplett ab.
*)
END FileIO.def